-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Mac support #10
Add Mac support #10
Conversation
This makes the code a little simpler, and will also make it easier to split `build_file_info` into more functions.
For the reasons explained in the new comment.
This makes it easier to read, and will be helpful for adding Mac support.
Because I decided I prefer it this way.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good and I'm eager to see this being used. The comments I left are mostly questions or suggestions to make the code more readable but don't consider them as blocking. This can land as is and be refactored later.
This is a lot more complex than the Linux and Windows support. First, we must handle fat binaries, which contain code for multiple architectures, using the `symbolic_debuginfo::Archive` type. Second, we must consult the binary's symbol table and then read debug info from the object files and archive files mentioned. We use the `goblin` crate for this.
I forgot to mention that this is about 10x faster than |
Thanks for the quick review, @gabrielesvelto. |
That's still an order of magnitude faster! Also if you're on a 2013 MacBook Pro your I/O calls will be slowed down by various Meltdown mitigations, it's possible that a more recent machine will be a fair bit faster than that. |
Allow pdb in cabinet archive as input
This is a lot more complex than the Linux and Windows support. First, we
must handle fat binaries, which contain code for multiple architectures,
using the
symbolic_debuginfo::Archive
type. Second, we must consultthe binary's symbol table and then read debug info from the object files
and archive files mentioned. We use the
goblin
crate for this.